#include "widget.h"
#include "ui_widget.h"
#include <QLabel>
#include <QDebug>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);

    QLabel * label1 = new QLabel(ui->tab);//指定父元素，添加到对象树上
    label1->setText("标签页1");
    label1->move(200,200);

    QLabel * label2 = new QLabel(ui->tab_2);//指定父元素，添加到对象树上
    label2->resize(100,100);
    QPixmap pixmap(":/chicken.png");
    label2->setPixmap(pixmap);
    label2->setScaledContents(true);
    label2->move(100,50);
}

Widget::~Widget()
{
    delete ui;
}


void Widget::on_pushButton_clicked()
{
    //创建一个QWidget
    QWidget *w = new QWidget();//没有指定父元素

    //获取当前已经存在多少个标签页
    int count = ui->tabWidget->count();
    //将创建的QWidget添加进QTabWidget中，变相的指定了w的父节点，也就将他添加到了对象树上
    ui->tabWidget->addTab(w,QString("Tab ") + QString::number(count + 1));

    //为新创建的标签页新建一个label
    QLabel *label = new QLabel(w);
    label->setText("hello qt");
    label->move(100,50);

    //选中当前新建的标签页
    ui->tabWidget->setCurrentWidget(w);

}


void Widget::on_pushButton_2_clicked()
{
    //获取当前选中的标签页编号
    int index = ui->tabWidget->currentIndex();
    //删除标签页
    ui->tabWidget->removeTab(index);
}

//当点击标签页标题旁边的 x 符号 触发信号
void Widget::on_tabWidget_tabCloseRequested(int index)
{
    //关闭标签页
    ui->tabWidget->removeTab(index);
}

void Widget::on_tabWidget_currentChanged(int index)
{
    qDebug() << "currentIndex: " << index ;
}
